package com.ruoyi.system.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.ruoyi.common.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.io.Serializable;
import java.util.Date;


/**
 * 处方对象 Prescription
 *
 * @author ruoyi
 * @date 2023-07-04
 */


@TableName("Prescription")
@ApiModel(value = "Prescription对象", description = "处方")
public class Prescription implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    @Excel(name = "id")
    @ApiModelProperty("id")
    @TableId(value = "Id", type = IdType.AUTO)
    private Long Id;

    /**
     * 病历id
     */
    @Excel(name = "病历id")
    @ApiModelProperty("病历id")
    @TableField("MedicalId")
    private Long MedicalId;

    /**
     * 开立医生id
     */
    @Excel(name = "开立医生id")
    @ApiModelProperty("开立医生id")
    @TableField("UserId")
    private Long UserId;

    /**
     * 处方名称
     */
    @Excel(name = "处方名称")
    @ApiModelProperty("处方名称")
    @TableField("PrescriptionName")
    private String PrescriptionName;

    /**
     * 处方状态0-已作废1-暂存2-已开立3-已缴费4-已取药
     */
    @Excel(name = "处方状态0-已作废1-暂存2-已开立3-已缴费4-已取药")
    @ApiModelProperty("处方状态0-已作废1-暂存2-已开立3-已缴费4-已取药")
    @TableField("PrescriptionState")
    private Long PrescriptionState;

    /**
     * 开立时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "开立时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty("开立时间")
    @TableField("PrescriptionTime")
    private Date PrescriptionTime;

    /**
     * 删除标记
     */
    @ApiModelProperty("删除标记")
    @TableField("DelMark")
    private Long DelMark;

    /**
     * 挂号id
     */
    @Excel(name = "挂号id")
    @ApiModelProperty("挂号id")
    @TableField("RegistId")
    private Long RegistId;

    @JsonProperty("Id")
    public Long getId() {
        return Id;
    }

    public void setId(Long Id) {
        this.Id = Id;
    }

    @JsonProperty("MedicalId")
    public Long getMedicalId() {
        return MedicalId;
    }

    public void setMedicalId(Long MedicalId) {
        this.MedicalId = MedicalId;
    }

    @JsonProperty("UserId")
    public Long getUserId() {
        return UserId;
    }

    public void setUserId(Long UserId) {
        this.UserId = UserId;
    }

    @JsonProperty("PrescriptionName")
    public String getPrescriptionName() {
        return PrescriptionName;
    }

    public void setPrescriptionName(String PrescriptionName) {
        this.PrescriptionName = PrescriptionName;
    }

    @JsonProperty("PrescriptionState")
    public Long getPrescriptionState() {
        return PrescriptionState;
    }

    public void setPrescriptionState(Long PrescriptionState) {
        this.PrescriptionState = PrescriptionState;
    }

    @JsonProperty("PrescriptionTime")
    public Date getPrescriptionTime() {
        return PrescriptionTime;
    }

    public void setPrescriptionTime(Date PrescriptionTime) {
        this.PrescriptionTime = PrescriptionTime;
    }

    @JsonProperty("DelMark")
    public Long getDelMark() {
        return DelMark;
    }

    public void setDelMark(Long DelMark) {
        this.DelMark = DelMark;
    }

    @JsonProperty("RegistId")
    public Long getRegistId() {
        return RegistId;
    }

    public void setRegistId(Long RegistId) {
        this.RegistId = RegistId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("Id", getId())
                .append("MedicalId", getMedicalId())
                .append("UserId", getUserId())
                .append("PrescriptionName", getPrescriptionName())
                .append("PrescriptionState", getPrescriptionState())
                .append("PrescriptionTime", getPrescriptionTime())
                .append("DelMark", getDelMark())
                .append("RegistId", getRegistId())
                .toString();
    }
}

